node 日志管理log4js

您所在的位置:网站首页 node 日志路径 node 日志管理log4js

node 日志管理log4js

2024-03-27 15:06| 来源: 网络整理| 查看: 265

示例

log目录文件如下,一个config配置文件,一个主文件

image.png

以下为config.js文件内容

const path = require('path') //日志根目录 const baseLogPath = path.resolve(__dirname, '../logs') // 错误输出日志 // 错误日志目录、文件名、路径 const errorPath = '/error' const errorFileName = 'error' const errorLogPath = baseLogPath + errorPath + '/' + errorFileName // 配置日志格式 const appenders = { 'rule-console': { 'type': 'console' }, 'errorLogger': { type: 'dateFile', // 日志类型 filename: errorLogPath, // 输出文件名 pattern: '-yyyy-MM-dd.log', // 文件后缀 alwaysIncludePattern: true, // encoding: 'utf-8', // 编码格式 maxLogSize: 1024 * 1024 * 1, // 每个文件最大存储内容 numBackups: 2, // 备份文件的数量,主文件 + 备份 共3个文件, path: errorPath } } // 供外部调用的名称 和 对应设置定义 const categories = { default: { appenders: ['rule-console'], level: 'all' }, errorLogger: { appenders: ['errorLogger'], level: 'error' } } module.exports = { appenders, categories, baseLogPath, disableClustering: true }

以下为index.js的内容

const log4js = require('log4js') const logConfig = require('./config') // 调用预先定义的日志名称 const consoleLogger = log4js.getLogger() const errorLogger = log4js.getLogger('errorLogger') // 加载配置文件 log4js.configure(logConfig) /** * 普通日志 */ const info = function (info) { var logText = new String() //响应日志头信息 logText += '\n' + '***************info log start ***************' + '\n' //响应内容 logText += 'info detail: ' + '\n' + JSON.stringify(info) + '\n' //响应日志结束信息 logText += '*************** info log end ***************' + '\n' return logText } /** * 错误日志 */ const error = function (err, resTime) { var logText = new String() //错误信息开始 logText += '\n' + '*************** error log start ***************' + '\n' //添加请求日志 // 错误名称 logText += 'err name: ' + err.name + '\n' // 错误信息 logText += 'err message: ' + err.message + '\n' // logText += "err message: " + err + "\n"; //错误详情 logText += 'err stack: ' + err.stack + '\n' //错误信息结束 logText += '*************** error log end ***************' + '\n' return logText } module.exports = { //封装普通日志 logInfo: function (info) { if (info) { consoleLogger.info(info(info)) } }, //封装错误日志 logError: function (error, resTime) { // console.log(error) // console.log(resTime) if (error) { errorLogger.error(error(error, resTime)) } } } appenders属性 type type: console 输出在控制台,往往用于调试 type: file 日志输出为普通文件 type: dateFile 按时间区分的日志文件 filename

D:\koa2/config/logs/error/error 路径 加 文件名称,代表输出文件名

pattern

pattern: '-yyyy-MM-dd.log' yyyy(年)、yy(年后两位)、MM(月份)、dd(天)、hh(小时)、mm(分)、ss(秒) 精确到天,就是每天一个文件;精确到小时,就是每小时一个文件;精确到分,就是每分钟一个文件。 默认是精确到天

alwaysIncludePattern

alwaysIncludePattern: true 默认开启 开启的情况下,filename 带有 pattern的后缀,也就是将两者合并到一起:handle.-2022-08-05.log 不开启则是handle.log,无时间后缀,也不会分文件

encoding

encoding: utf-8 编码格式

maxLogSize

maxLogSize: 1024 * 1024 * 1 文件的最大存储,单位byte,上面表示的是1M

numBackups

numBackups: 3 备份文件的数量,达到最大值,最新的会覆盖旧数据

daysToKeep

daysToKeep: 10 时间文件 保存多少天,以前的log将被删除



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3